package com.itheima.lambda.test01;
/*
编写一个接口（ShowHandler）

2. 在该接口中存在一个抽象方法（show），该方法是无参数无返回值
3. 在测试类（ShowHandlerDemo）中存在一个方法（useShowHandler）
    方法的的参数是ShowHandler类型的
    在方法内部调用了ShowHandler的show方法

 */
public class ShowHandlerDemo {
    public static void main(String[] args) {
        //匿名内部类的写法
        useShowHandler(new ShowHandler() {
            @Override
            public void show() {
                System.out.println("匿名内部类的写法:show方法执行了");
            }
        });
        //lambda
        useShowHandler(()->{
            System.out.println("lambda:show方法执行");
        });
        //自动生成的
        useShowHandler(() -> System.out.println("匿名内部类的写法:show方法执行了"));
    }
    //给使用 匿名内部类 使用lambda 提供了使用的环境
    public  static void useShowHandler(ShowHandler handler){
        handler.show();
    }
}

interface ShowHandler{
    void show();
}